#ifndef CCONNECTOR_H
#define CCONNECTOR_H

#include "IVisual.h"
#include "IUnknownObject.h"
#include "CPole.h"

namespace csmodel
{
    class CRelation : public IVisual, public IUnknownObject
    {
    public:
        enum LineType
        {
            NonArrowed   = 0,
            Arrowed      = 1,
            StrippedPipe = 3
        };


        CRelation( CPole * i, CPole * o );
        void Dispose();

        void Draw( IDrawEngine & di ) const;
        void Connect( CPole * i, CPole * o );

        void DoBeginDispose() throw() {}
        void DoEndDispose() throw() {}
        void GetProperties(csmodel::CProperties*) {}
        QRect Bounds() const {}
        CBoundsKind BoundsKind() const {}
        const ClassVisualTraits* VisualTraits() const {}

    protected:
        CRelation();
        CRelation( const CRelation & c );

    private:
        LineType type;
        CPole * in;
        CPole * out;
    };
}

#endif // CCONNECTOR_H
